de.cebis.moccabox.model
Class ModelNodeDescription

java.lang.Object
  extended by de.cebis.moccabox.model.ModelNodeDescription
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable

public class ModelNodeDescription
extends java.lang.Object
implements java.lang.Cloneable, java.io.Serializable

Klasse, die einen Knoten eines ModelNode mit Metainformationen beschreibt, die vor allem für die Validierung und die Repräsentation auf der Benutzungsoberfläche genutzt und interpretiert werden.

Die Beschreibung wird parametrisiert durch Informationen, die beim Einlesen des Repository über die entsprechenden Konzepte hinterlegt sind. Diese werden dann korrespondierend zu den Aufgabenobjekten (Daten) als Metadaten im jeweiligen ModelNode hinterlegt.

Author:
weichelt - 03.02.2005
See Also:
Serialized Form

Field Summary
static java.lang.String PROPERTY_ATTRIBUTENAME
          Eigenschaft für Attributnamen.
static java.lang.String PROPERTY_EDITABLE
          Eigenschaft für Editierbarkeit.
static java.lang.String PROPERTY_HIDDEN
          Eigenschaft für Sichtbarkeit.
static java.lang.String PROPERTY_MESSAGES
          Eigenschaft für Meldungen.
static java.lang.String PROPERTY_REQUIRED
          Eigenschaft für Pflichtfeld.
static java.lang.String PROPERTY_VALIDATOR
          Eigenschaft für Validierung.
static java.lang.String PROPERTY_VIEWREF
          Eigenschaft für Referenzierung einer korrespondierenden View.
 
Constructor Summary
ModelNodeDescription()
          Parameterloser Konstruktor zum Anlegen einer neuen ModelNodeDescription.
 
Method Summary
 void addMessage(java.lang.String message)
          Hinzufügen einer Meldung, die beim Darstellen des ModelNode angezeigt werden soll.
 void addValidationRule(ValidationRule vRule)
          Hinzufügen einer Validierungsregel für den ModelNode.
 void addValue(Value value)
          Hinzufügen eines weiteren Wertes, den der ModelNode annehmen kann.
 void clearMessages()
          Zurücksetzen aller Meldungen.
 ModelNodeDescription createCopy()
          Erzeugen und zurückliefern eines Clons der ModelNodeDescription.
 void defineValues(ITaskContext tContext)
          Festlegen der Werte anhand des aktuellen ITaskContext.
 java.lang.String getAttributeName()
          Zurückliefern des Namens des Attributes.
 boolean getEditable()
          Zurückliefern, ob der ModelNode editierbar ist.
 boolean getHidden()
          Zurückliefern, ob ModelNode versteckt ist.
 java.lang.String[] getMessages()
          Zurückliefern aller Meldungen, die beim Darstellen des ModelNode angezeigt werden sollen.
 ModelNode getModelNode()
          Zurückgeben des korrespondierenden ModelNode, für den diese ModelNodeDescription gilt.
 boolean getRequired()
          Zurückliefern, ob der ModelNode ein Pflichtfeld ist.
 java.lang.String getType()
          Zurückgeben des Typs des ModelNode.
 ValidationRule[] getValidationRules()
          Zurückliefern aller Validierungsregeln, die für den korrespondierenden ModelNode überprüft werden sollen.
 java.util.List getValidators(IODefinition ioDefinition, ILocaleInformationRepository lir)
          Zurückliefern der Liste an Validatoren, die für die Überprüfung der Einhaltung der zugehörigen Validierungsregeln zuständig sind.
 ValueRangeDefinition getValueRangeDefinition()
          Liefert die Definition des gültigen Wertebereiches zurück.
 Value[] getValues()
          Zurückliefern der Liste der Werte, die der ModelNode annehmen kann.
 View getView()
          Zurückliefern der View, die für die Repräsentation des ModelNode verwendet werden soll.
 java.lang.String getViewRef()
          Zurückgeben des Referenz-Namens der verwendeten View.
 void setAttributeName(java.lang.String attributeName)
          Setzen des Namens des Attributes.
 void setEditable(boolean editable)
          Setzen, ob der ModelNode editierbar ist.
 void setHidden(boolean hidden)
          Setzen, ob ModelNode versteckt ist.
 void setMessages(java.lang.String[] messages)
          Setzen aller Meldungen, die beim Darstellen des ModelNode angezeigt werden sollen.
 void setModelNode(ModelNode modelNode)
          Setzen des korrespondierenden ModelNode, für den diese ModelNodeDescription gilt.
 void setRequired(boolean required)
          Setzen, ob der ModelNode ein Pflichtfeld ist.
 void setType(java.lang.String type)
          Setzen des Typs des ModelNode.
 void setValueRangeDefinition(ValueRangeDefinition valueRangeDefinition)
          Setzen der Definition des gültigen Wertebereiches.
 void setValues(Value[] values)
          Setzen der Liste der möglichen Werte, die der ModelNode annehmen kann.
 void setView(View view)
          Setzen der View, die für die Repräsentation des ModelNode verwendet werden soll.
 void setViewRef(java.lang.String viewRef)
          Setzen des Referenz-Namens der verwendeten View.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROPERTY_REQUIRED

public static final java.lang.String PROPERTY_REQUIRED
Eigenschaft für Pflichtfeld.

See Also:
Constant Field Values

PROPERTY_EDITABLE

public static final java.lang.String PROPERTY_EDITABLE
Eigenschaft für Editierbarkeit.

See Also:
Constant Field Values

PROPERTY_HIDDEN

public static final java.lang.String PROPERTY_HIDDEN
Eigenschaft für Sichtbarkeit.

See Also:
Constant Field Values

PROPERTY_VALIDATOR

public static final java.lang.String PROPERTY_VALIDATOR
Eigenschaft für Validierung.

See Also:
Constant Field Values

PROPERTY_MESSAGES

public static final java.lang.String PROPERTY_MESSAGES
Eigenschaft für Meldungen.

See Also:
Constant Field Values

PROPERTY_VIEWREF

public static final java.lang.String PROPERTY_VIEWREF
Eigenschaft für Referenzierung einer korrespondierenden View.

See Also:
Constant Field Values

PROPERTY_ATTRIBUTENAME

public static final java.lang.String PROPERTY_ATTRIBUTENAME
Eigenschaft für Attributnamen.

See Also:
Constant Field Values
Constructor Detail

ModelNodeDescription

public ModelNodeDescription()
Parameterloser Konstruktor zum Anlegen einer neuen ModelNodeDescription.

Method Detail

getEditable

public boolean getEditable()
Zurückliefern, ob der ModelNode editierbar ist.

Returns:
True, falls editierbar. False, andernfalls.

setEditable

public void setEditable(boolean editable)
Setzen, ob der ModelNode editierbar ist.

Parameters:
editable - True, falls editierbar. False, andernfalls.

addMessage

public void addMessage(java.lang.String message)
Hinzufügen einer Meldung, die beim Darstellen des ModelNode angezeigt werden soll.

Parameters:
message - Anzuzeigende Meldung.

getMessages

public java.lang.String[] getMessages()
Zurückliefern aller Meldungen, die beim Darstellen des ModelNode angezeigt werden sollen.

Returns:
Anzuzeigende Meldungen.

setMessages

public void setMessages(java.lang.String[] messages)
Setzen aller Meldungen, die beim Darstellen des ModelNode angezeigt werden sollen.

Parameters:
messages - Anzuzeigende Meldungen.

clearMessages

public void clearMessages()
Zurücksetzen aller Meldungen.


getRequired

public boolean getRequired()
Zurückliefern, ob der ModelNode ein Pflichtfeld ist.

Returns:
True, falls Eingabe verpflichtend. False, andernfalls.

setRequired

public void setRequired(boolean required)
Setzen, ob der ModelNode ein Pflichtfeld ist.

Parameters:
required - True, falls Eingabe verpflichtend. False, andernfalls.

getHidden

public boolean getHidden()
Zurückliefern, ob ModelNode versteckt ist.

Returns:
True, falls Knoten nicht dargestellt werden soll. False, andernfalls.

setHidden

public void setHidden(boolean hidden)
Setzen, ob ModelNode versteckt ist.

Parameters:
hidden - True, falls Knoten nicht dargestellt werden soll. False, andernfalls.

getAttributeName

public java.lang.String getAttributeName()
Zurückliefern des Namens des Attributes.

Returns:
Name des Attributes.

setAttributeName

public void setAttributeName(java.lang.String attributeName)
Setzen des Namens des Attributes.

Parameters:
attributeName - Name für das Attribute.

getView

public View getView()
Zurückliefern der View, die für die Repräsentation des ModelNode verwendet werden soll.

Returns:
Zur Darstellung zu verwendende View.

setView

public void setView(View view)
Setzen der View, die für die Repräsentation des ModelNode verwendet werden soll.

Parameters:
view - Zur Darstellung zu verwendende View.

getViewRef

public java.lang.String getViewRef()
Zurückgeben des Referenz-Namens der verwendeten View.

Returns:
Referenz-Name der View.

setViewRef

public void setViewRef(java.lang.String viewRef)
Setzen des Referenz-Namens der verwendeten View.

Parameters:
viewRef - Referenz-Name der View.

getModelNode

public ModelNode getModelNode()
Zurückgeben des korrespondierenden ModelNode, für den diese ModelNodeDescription gilt.

Returns:
Korrespondierender ModelNode.

setModelNode

public void setModelNode(ModelNode modelNode)
Setzen des korrespondierenden ModelNode, für den diese ModelNodeDescription gilt.

Parameters:
modelNode - Korrespondierender ModelNode.

getType

public java.lang.String getType()
Zurückgeben des Typs des ModelNode.

Returns:
Typ des ModelNode. Z.B. Text, Datum, E-Mail etc.

setType

public void setType(java.lang.String type)
Setzen des Typs des ModelNode. Wird direkt von der Beschreibung des Konzepts übernommen und befüllt.

Parameters:
type - Typ des ModelNode. Z.B. Text, Datum, E-Mail etc.

setValues

public void setValues(Value[] values)
Setzen der Liste der möglichen Werte, die der ModelNode annehmen kann. Wird im Interface-Objekt als Auswahlliste oder Radio-Button interpretiert. Textfelder haben keine potenziellen Werte.

Parameters:
values - Liste der möglichen Werte für den ModelNode.

addValue

public void addValue(Value value)
Hinzufügen eines weiteren Wertes, den der ModelNode annehmen kann.

Parameters:
value - Gültiger Wert für den ModelNode.

getValues

public Value[] getValues()
Zurückliefern der Liste der Werte, die der ModelNode annehmen kann.

Returns:
Liste potenzieller Werte des ModelNode, die vom GUI-Framework für die Ausgabe als Auswahlliste interpretiert werden kann.

defineValues

public void defineValues(ITaskContext tContext)
Festlegen der Werte anhand des aktuellen ITaskContext. Die vordefinierten Werte müssen häufig durch einen dynamisch interpretierbaren IParamProvider zur Laufzeit bestimmt werden. Diese Informationen werden unter Verwendung des ITaskContext interpretiert. Es ist wichtig, für die Instanz eines ModelNode die potenziellen Werte zu instantiieren.

Parameters:
tContext - Der aktuelle ITaskContext, in dem der Vorgang (IBusinessTask) ausgeführt wurde.

getValueRangeDefinition

public ValueRangeDefinition getValueRangeDefinition()
Liefert die Definition des gültigen Wertebereiches zurück.

Returns:
Gültiger Wertebereich für den ModelNode. Ist der Wertebereich nicht eingeschränkt, so wird NULL zurückgeliefert.

setValueRangeDefinition

public void setValueRangeDefinition(ValueRangeDefinition valueRangeDefinition)
Setzen der Definition des gültigen Wertebereiches.

Parameters:
valueRangeDefinition - Gülitger Wertebereich für den ModelNode. Ist der Wertebereich nicht eingeschränkt, so bleibt er NULL.

addValidationRule

public void addValidationRule(ValidationRule vRule)
Hinzufügen einer Validierungsregel für den ModelNode.

Parameters:
vRule - Zu überprüfende Validierungsregel.

getValidationRules

public ValidationRule[] getValidationRules()
Zurückliefern aller Validierungsregeln, die für den korrespondierenden ModelNode überprüft werden sollen.

Returns:
Zu überprüfende Validierungsregeln.

getValidators

public java.util.List getValidators(IODefinition ioDefinition,
                                    ILocaleInformationRepository lir)
Zurückliefern der Liste an Validatoren, die für die Überprüfung der Einhaltung der zugehörigen Validierungsregeln zuständig sind.

Parameters:
ioDefinition - Informationen über den aktuellen Aufruf des Nutzers.
lir - Informationen über lokale Einstellungen des Nutzers, die für Zahlen- und Währungsformate etc. benötigt werden.
Returns:
Liste der Validatoren.

createCopy

public ModelNodeDescription createCopy()
Erzeugen und zurückliefern eines Clons der ModelNodeDescription. Wird für jede Instanz erzeugt, damit Änderungen in einer Beschreibung nicht auf Referenzen für andere Beschreibungen zurückschreiben. Wird einer im Repository gelagerten ModelNodeDescription ein ModelNode zugewiesen und diese für diesen und den aktuellen Aufruf angepasst, so muss sie vorher durch eine Kopie instantiiert werden.

Returns:
Kopie der ModelNodeDescription.